Various applications of electronic circuitry involve the use of integrated circuits (ICs). ICs, for example, facilitate the ability to incorporate a very large number of circuit elements into a very small area. ICs are particularly useful when active components, such as transistors and diodes, are needed to implement a particular design. Using today's semiconductor technology, for example, hundreds of millions and even billions of active devices may be incorporated into a single IC.
As IC densities increase, however, the dimensions of these active components approach sub-micron levels. As such, atomic effects become increasingly prevalent, which may tend to eliminate any further downward scaling of the geometry of these active components in an effort to generate increased IC densities. Thus, design efforts may tend to look at system requirements for further improvements in IC implementations, which may tend to improve not only IC densities, but may also improve power consumption and speed.
Improvements in IC implementations, for example, may come from efforts to apply optimizations at the system architectural levels. In particular, reducing the complexity of circuit implementations tends to reduce the number of components required for the circuit implementations, which in turn, reduces the semiconductor area required.
Thus, while improvements in IC processing techniques continue to improve IC density levels, efforts should also continue to optimize circuit implementations that reduce the number of active components required. Often, the algorithmic and architectural innovations that achieve such optimizations may also improve other design parameters, such as speed of operation and power dissipation.
One such area where algorithmic and architectural innovations may be particularly helpful is in the field of communications. In particular, coding techniques for various communication standards may be employed to produce near error-free communications, even while operating in a noisy channel. Error codes may be employed, for example, to reduce the probability of error, Pe, at the receiving end of the transmission, to an arbitrarily small value through increased code block lengths.
As code block lengths increase, however, so does the complexity of the circuits that are required for their implementation, both at the transmitting end and at the receiving end. Additional complexity may also be added by interleavers that may be employed to increase the randomness of the coded block in an effort to thwart burst errors caused by a fading channel. Thus, latency problems may be created, due to the excessive memory and processing requirements of the coding and interleaving circuits.
Efforts continue, therefore, to reduce the complexity of the communication processors required by today's communication systems so as to: reduce latency bottlenecks through increased speed of operation; and to reduce power dissipation. Each improvement may be simultaneously gained, for example, by a decrease in the number of components required for their implementation.